Electronic devices are able to operate wirelessly by communicating over networks. When a “wireless device” is introduced into an environment, the wireless device connects to a network and then communicates with other devices over the network. However, the wireless device first identifies a desired network over which to communicate and in certain environments there may be multiple networks in the neighborhood of a wireless device. When only one network is the desired network in a neighborhood of multiple networks, a wireless device orders the candidates to reduce the number of association attempts with each candidate network.
In one particular method, a wireless device attempts to connect with networks based on the order in which a network responds to a beacon request. For example, a wireless device searches available frequency channels for the first joinable response from a network. When the wireless device finds the network, the wireless device attempts to associate with the network. After association, the wireless device is able to determine if the network is the desired network. If the associated network is not the desired network, the wireless device increments the channel to the next channel and again searches for the first joinable response from a network. The wireless device repeats this process until the wireless device associates with the desired network. While this is a fast way to select a candidate for an association attempt, it may require many tries before the desired network is found. Further, the expected number of association attempts before successfully associating with the desired network increases as the number of joinable candidate networks increase. Problematically, under this “first responder” method, the wireless device can fail to join the desired network at all if undesired networks always respond first.
In an alternative method, a wireless device searches the channels for a network that responds to a beacon request with the strongest joinable beacon response. When a network providing the strongest joinable beacon response is identified, the wireless device attempts to associate with the identified network. Attempting to associate with the network providing the strongest joinable beacon response may work well if a node of the desired network is closest to the wireless device. However, attempting to associate with the network providing the strongest joinable beacon response may fail consistently if an unwanted network generates a stronger beacon response.
In some further implementations, when a wireless device is either searching for a network that provides the strongest joinable beacon response or searching for a network that provides the first response, the wireless device may store multiple responses in memory. For example, the wireless device may store the first X responders or the strongest X responders. However, if the desired network is the X+1 network to provide a response or the response provided by the desired network is the X+1 strongest response, then the wireless device will be unable to associate with the desired network.